Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wasm dedup #49538

Merged
merged 2 commits into from
Mar 12, 2021
Merged

Wasm dedup #49538

merged 2 commits into from
Mar 12, 2021

Conversation

vargaz
Copy link
Contributor

@vargaz vargaz commented Mar 12, 2021

No description provided.

…data about wrappers is not dedup-ed, so a separate dedup pass still saves more space.
@ghost
Copy link

ghost commented Mar 12, 2021

Tagging subscribers to this area: @CoffeeFlux
See info in area-owners.md if you want to be subscribed.

Issue Details
Author: vargaz
Assignees: -
Labels:

area-VM-meta-mono

Milestone: -

@vargaz
Copy link
Contributor Author

vargaz commented Mar 12, 2021

This saves about 100k on a hello world sample.

…tances etc. multiple times.

This works as follows:
* Controlled by a new public 'WasmDedup' property, defaults to true.
* All assemblies are AOT compiled with the 'dedup-skip' option, which causes
the AOT compiler to avoid generating generic instances, certain wrappers etc.
* A new internal assembly called aot-instances.dll is added to the build.
* When aot-instances.dll is AOTed, all the other assemblies are AOTed together,
but only the generic instances/wrappers are emitted into its AOT image.
@CoffeeFlux
Copy link
Contributor

This is 100k on the AOT hello world, right?

@vargaz
Copy link
Contributor Author

vargaz commented Mar 12, 2021

Yes

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants